package com.qing.library_manager.common.util;

import lombok.Data;

/**
 * <p>TODO</p>
 *
 * @author Yjx
 * @version 1.0.0
 * @since 2021/11/28
 **/

@Data
public class PageUtil {

    public  int PAGECOUNT;//每页显示几条数据   3
    private int pageNumber;//显示第几页数据  1
    private int pageSize;// 一共有多少条数据   3
    private int startIndex;//对应页面开始的索引 include
    private int endIndex;//对应页面结束的索引      不包含
    private int pageNums;//一共有多少页

    /**
     * 构造方法：需要三个参数,每页显示几条数据，一共有多少条数据，显示第几页数据
     * @param pageCount
     * @param pageSize
     * @param pageNumber
     */
    public PageUtil(int pageCount,int pageSize,int pageNumber)
    {
        //根据参数给对应属性赋值
        this.pageNumber=pageNumber;
        this.pageSize=pageSize;

        //帮我们算出需要分多少页，每页的起始索引
        this.pageNums=pageSize%pageCount==0?pageSize/pageCount:pageSize/pageCount+1;
        this.startIndex=this.PAGECOUNT*(pageNumber-1)+1;//0

        if(pageNumber==pageNums)//如果请求页码刚好是最后一页，那么结束索引要好好计算一下
        {
            this.endIndex=pageSize;
        }else {
            this.endIndex=this.PAGECOUNT*pageNumber;
        }

        //处理pageNumber=0的情况
        if(pageNumber==0)
        {
            this.startIndex=0;
            this.endIndex=0;
        }
    }
}
